﻿<?php

if(!($instanceDB = mysql_connect(DB_SERVER,DB_USER,DB_PASSWD))) {
	echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL.";
} 

if(!($con=mysql_select_db(DB_NAME,$instanceDB))) { 
	echo "Não foi possível selecionar o Banco de Dados.";
} 

class Sql extends Kernel{
	function executeQuery($instanceDB, $commandSql, $erro = 1) { 
		if(empty($commandSql) OR !($instanceDB)){
			$this->setLog("error", "", "Erro na conexão ou no comando SQL.");
			return 0;
		}
		if (!($res = @mysql_query($commandSql,$instanceDB))) { 
			if($erro){
				$this->setLog("error", "", "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar o Administrador.");
				$this->setLog("error", "ERRO_QUERY", $commandSql);
				return 0;
			}
			return 0;
		}
		return $res;
	}
	function prepareDataToSQLQuery( $type, $data ){
		if ( $type == "varchar" || $type ==  "string" || $type ==  "text" ){
			return " '" . $data . "' ";
		} else if ( $type == "time" ){
			return " '" . $data . "' ";
		} else if ( $type == "enum" ){
			return " '" . $data . "' ";
		} else if ( $type == "password" ){
			return " PASSWORD('" . $data . "') ";
		} else if ( $type == "decimal" ){
			return " replace(replace('" . $data . "','.',','),',','.') ";
		} else if ( $type == "date" ){
			
			// trecho adicionado para tratamento de data em caso de preenchimento usando máscara
			if(strlen($data) == 8){ // trata data oriunda de máscara
 				$day = substr($data, 0, 2);
				$month = substr($data, 2, 2);
				$year = substr($data, 4, 4);
				return " '" . $year . "-" . $month . "-" . $day . "' ";
			}else{
				$day = substr($data, 0, 2);
				$month = substr($data, 3, 2);
				$year = substr($data, 6, 4);
				return " '" . $year . "-" . $month . "-" . $day . "' ";
			}
		} else {
			return " ". $data . " ";
		}
	}
	function formatFieldToSqlQuery( $type, $fieldName ){
		if ( $type == "decimal" ){
			return " replace( replace( replace( FORMAT(" . $fieldName . ", 2 ) ,',','+'),'.',','),'+','.')  AS " . $fieldName;
		} else if ( $type == "date" ){
			return "DATE_FORMAT(" . $fieldName . ", '%d/%m/%Y') AS " . $fieldName;
		} else if ( $type == "datetime" ){
			return "DATE_FORMAT(" . $fieldName . ", '%d/%m/%Y %H:%i:%S') AS " . $fieldName;
		} else {
			return $fieldName;
		}
	}
}
?>